iT邦幫忙

2024 iThome 鐵人賽

DAY 18
1
佛心分享-SideProject30

收納規劃APP系列 第 18

Day18:設計資料庫跟API

  • 分享至 

  • xImage
  •  

颱風天放假,但是鐵人賽還是要繼續

前面的畫面都做完了,現在來設計資料庫。
考量擴充的可能性,所以準備了用戶、平面圖表跟房間表。
透過外鍵建立關聯,用戶表與平面圖表相連,每個用戶可擁有多個平面圖,平面圖有多個房間。每個房間可包含多個家具。家具表則記錄家具的屬性和位置,並與收納物品表相連,讓家具能包含多個收納物品。收納物品表還支援巢狀結構,表示物品之間的上下層關係。

API跟資料庫都去除英文命名還有HTTP Method展示,避免可能的安全性問題

資料庫表格

用戶表 欄位名稱 資料類型 說明
編號 主鍵 整數 用戶唯一識別碼
名稱 用戶名稱 字串 用戶名稱
電子郵件 用戶電子郵件 字串 用戶電子郵件
頭像 用戶頭像 字串 用戶頭像圖片網址
Google編號 Google用戶ID 字串 Google登入用戶編號(如使用Google登入)
LINE編號 LINE用戶ID 字串 LINE登入用戶編號(如使用LINE登入)
創建時間 創建時間 時間戳 帳號創建的時間
更新時間 更新時間 時間戳 資料更新的時間
平面圖表 欄位名稱 資料類型 說明
編號 主鍵 整數 平面圖唯一識別碼
用戶編號 外鍵 整數 對應到用戶表的編號
房間表 欄位名稱 資料類型 說明
編號 主鍵 整數 房間唯一識別碼
名稱 房間名稱 字串 房間的名稱
平面圖資料 平面圖資料 JSON 房間的平面圖資料
平面圖編號 外鍵 整數 對應到平面圖表的編號
家具表 欄位名稱 資料類型 說明
編號 主鍵 整數 家具唯一識別碼
房間編號 外鍵 整數 對應到房間表的編號
名稱 家具名稱 字串 家具名稱
是否收納 家具類型 字串 家具類型(如桌子、椅子、收納等)
框線類型 框線類型 字串 家具框線樣式(如實線、虛線等)
框線顏色 框線顏色 字串 家具框線的顏色
背景顏色 背景顏色 字串 家具的背景顏色
長度 家具長度 字串 家具的長度
寬度 家具寬度 字串 家具的寬度
位置 位置 JSON 家具在平面圖上的座標位置
層級 層級 整數 家具的層級(用於表示重疊順序)
收納物品表 欄位名稱 資料類型 說明
編號 主鍵 整數 收納物品唯一識別碼
家具編號 外鍵 整數 對應到家具表的編號
物品名稱 物品名稱 字串 收納物品名稱
數量 數量 整數 收納物品的數量
單位 單位 字串 物品的單位(如件、個等)
備註 備註 字串 物品的備註
上層物品編號 外鍵 整數 對應同一表的編號,用於表示上層收納物品

API

API名稱 功能說明
房間API
獲取房間資料 取得系統中所有房間的詳細資料,顯示房間名稱、平面圖等相關資訊。
新增房間 在系統中新增一個房間,並可設定其名稱及平面圖等資料。
修改房間資料 更新已存在的房間資料,包括名稱、平面圖或其他相關屬性。
刪除房間 刪除指定的房間,並移除其所有相關資料。
家具API
獲取家具資料 取得系統中所有家具的詳細資訊,顯示名稱、位置、類型等相關資料。
新增家具 在系統中新增一件家具,並可設定其名稱、位置及其他屬性。
修改家具資料 更新已存在的家具資料,包括名稱、框線、背景顏色等屬性。
刪除家具 刪除指定的家具,並移除其所有相關資料。
收納物品API
獲取收納物品資料 取得系統中所有收納物品的詳細資訊,包括名稱、數量及位置。
新增收納物品 在指定家具中新增收納物品,並設定其名稱、數量及備註等資訊。
修改收納物品資料 更新已存在的收納物品資料,包括名稱、數量及單位等屬性。
刪除收納物品 刪除指定的收納物品,並移除其相關資料。
查找物品API
查找收納物品 根據物品名稱查找收納物品,返回匹配的物品及其數量、所在家具及位置。

上一篇
Day17:資料流綁定
下一篇
Day19:產生假資料
系列文
收納規劃APP32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言